package com.example.function.sys.model.pojo;


import com.example.common.support.ApplicationContextProvider;
import com.example.function.sys.model.one.SysLogger;
import com.example.function.sys.service.ISysLoggerService;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;

/**
 * Description: <SysLoggerPojo vo>. <br>
 * <p>
 * generate time:2021-7-22 14:56:24
 *
 * @author hanqf
 * @version V1.0
 */
@Data
public class SysLoggerPojo implements Serializable {
    private static final long serialVersionUID = 1L;

    /*
     * 主键
     */
    private Long id;


    /*
     * 客户端ID
     */
    private String logClientIp;


    /*
     * 请求url
     */
    private String logUri;


    /*
     * 终端请求方式,普通请求,ajax请求
     */
    private String logType;


    /*
     * 请求方式method,post,get等
     */
    private String logMethod;


    /*
     * 请求参数内容,json
     */
    private String logParamData;

    /*
     * 请求流中的json
     */
    private String logRequestJson;


    /*
     * 请求接口唯一session标识
     */
    private String logSessionId;


    /*
     * 请求时间
     */
    private java.util.Date logTime;


    /*
     * 接口返回时间
     */
    private String logReturmTime;


    /*
     * 接口返回数据json
     */
    private String logReturnData;


    /*
     * 请求时httpStatusCode代码，如：200,400,404等
     */
    private String logHttpStatusCode;


    /*
     * 请求耗时秒单位
     */
    private Integer logTimeConsuming;


    /*
     * 操作内容
     */
    private String logDesc;


    /*
     * 用户名称
     */
    private String logUser;


    /**
     * 实体对象复制到数据对象
     */
    public static SysLoggerPojo wrapper(SysLogger sysLogger) {
        SysLoggerPojo sysLoggerPojo = new SysLoggerPojo();
        BeanUtils.copyProperties(sysLogger, sysLoggerPojo);
        final ISysLoggerService sysLoggerService = (ISysLoggerService) ApplicationContextProvider.getBean("sysLoggerService");

        return sysLoggerPojo;
    }

}



